package com.example.fwx;

import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;

import androidx.fragment.app.Fragment;

public class Calculate extends Fragment {
    EditText et;
    Button btn1, btn2, btn3, btn4, btn5, btn6, btn7, btn8, btn9, btn0,
            btnadd, btnsub, btnmul, btndot, btndiv, btnequ, btnc;
    double num1 = 0, num2 = 0;
    double result = 0;
    int op = 0;
    boolean isClickEqu = false;

    View.OnClickListener onClickListener;

    public Calculate() {
        // Required empty public constructor
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View view =  inflater.inflate(R.layout.activity_calculate, container, false);
        et = (EditText) view.findViewById(R.id.et);

        btn0 = (Button) view.findViewById(R.id.btn0);
        btn1 = (Button) view.findViewById(R.id.btn1);
        btn2 = (Button) view.findViewById(R.id.btn2);
        btn3 = (Button) view.findViewById(R.id.btn3);
        btn4 = (Button) view.findViewById(R.id.btn4);
        btn5 = (Button) view.findViewById(R.id.btn5);
        btn6 = (Button) view.findViewById(R.id.btn6);
        btn7 = (Button) view.findViewById(R.id.btn7);
        btn8 = (Button) view.findViewById(R.id.btn8);
        btn9 = (Button) view.findViewById(R.id.btn9);
        btnadd = (Button) view.findViewById(R.id.btnadd);
        btnsub = (Button) view.findViewById(R.id.btnsub);
        btnmul = (Button) view.findViewById(R.id.btnmul);
        btndiv = (Button) view.findViewById(R.id.btndiv);
        btndot = (Button) view.findViewById(R.id.btndot);
        btnequ = (Button) view.findViewById(R.id.btnequ);
        btnc = (Button) view.findViewById(R.id.btnc);



        onClickListener = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int id = v.getId();
                if (id == R.id.btn0) {
                    if (isClickEqu) {
                        et.setText(null);
                        isClickEqu = false;
                    }
                    String str0 = et.getText().toString();
                    str0 += "0";
                    et.setText(str0);
                } else if (id == R.id.btn1) {
                    if (isClickEqu) {
                        et.setText(null);
                        isClickEqu = false;
                    }
                    String str1 = et.getText().toString();
                    str1 += "1";
                    et.setText(str1);
                } else if (id == R.id.btn2) {
                    if (isClickEqu) {
                        et.setText(null);
                        isClickEqu = false;
                    }
                    String str2 = et.getText().toString();
                    str2 += "2";
                    et.setText(str2);
                } else if (id == R.id.btn3) {
                    if (isClickEqu) {
                        et.setText(null);
                        isClickEqu = false;
                    }
                    String str3 = et.getText().toString();
                    str3 += "3";
                    et.setText(str3);
                } else if (id == R.id.btn4) {
                    if (isClickEqu) {
                        et.setText(null);
                        isClickEqu = false;
                    }
                    String str4 = et.getText().toString();
                    str4 += "4";
                    et.setText(str4);
                } else if (id == R.id.btn5) {
                    if (isClickEqu) {
                        et.setText(null);
                        isClickEqu = false;
                    }
                    String str5 = et.getText().toString();
                    str5 += "5";
                    et.setText(str5);
                } else if (id == R.id.btn6) {
                    if (isClickEqu) {
                        et.setText(null);
                        isClickEqu = false;
                    }
                    String str6 = et.getText().toString();
                    str6 += "6";
                    et.setText(str6);
                } else if (id == R.id.btn7) {
                    if (isClickEqu) {
                        et.setText(null);
                        isClickEqu = false;
                    }
                    String str7 = et.getText().toString();
                    str7 += "7";
                    et.setText(str7);
                } else if (id == R.id.btn8) {
                    if (isClickEqu) {
                        et.setText(null);
                        isClickEqu = false;
                    }
                    String str8 = et.getText().toString();
                    str8 += "8";
                    et.setText(str8);
                } else if (id == R.id.btn9) {
                    if (isClickEqu) {
                        et.setText(null);
                        isClickEqu = false;
                    }
                    String str9 = et.getText().toString();
                    str9 += "9";
                    et.setText(str9);
                } else if (id == R.id.btndot) {
                    if (isClickEqu) {
                        et.setText(null);
                        isClickEqu = false;
                    }
                    String strdot = et.getText().toString();
                    strdot += ".";
                    et.setText(strdot);
                } else if (id == R.id.btnc) {
                    et.setText(null);
                } else if (id == R.id.btnadd) {
                    String stradd = et.getText().toString();
                    if (stradd.equals(null))
                        return;
                    num1 = Double.valueOf(stradd);
                    et.setText(null);
                    op = 1;
                    isClickEqu = false;
                } else if (id == R.id.btnsub) {
                    String strsub = et.getText().toString();
                    if (strsub.equals(null))
                        return;
                    num1 = Double.valueOf(strsub);
                    et.setText(null);
                    op = 2;
                    isClickEqu = false;
                } else if (id == R.id.btnmul) {
                    String strmul = et.getText().toString();
                    if (strmul.equals(null))
                        return;
                    num1 = Double.valueOf(strmul);
                    et.setText(null);
                    op = 3;
                    isClickEqu = false;
                } else if (id == R.id.btndiv) {
                    String strdiv = et.getText().toString();
                    if (strdiv.equals(null))
                        return;
                    num1 = Double.valueOf(strdiv);
                    et.setText(null);
                    op = 4;
                    isClickEqu = false;
                } else if (id == R.id.btnequ) {
                    String strequ = et.getText().toString();
                    if (strequ.equals(null))
                        return;
                    num2 = Double.valueOf(strequ);
                    et.setText(null);
                    switch (op) {
                        case 0:
                            result = num2;
                            break;
                        case 1:
                            result = num1 + num2;
                            break;
                        case 2:
                            result = num1 - num2;
                            break;
                        case 3:
                            result = num1 * num2;
                            break;
                        case 4:
                            result = num1 / num2;
                            break;
                        default:
                            result = 0;
                            break;
                    }
                    et.setText(String.valueOf(result));
                    isClickEqu = true;
                }
            }
        };


        btn0.setOnClickListener(onClickListener);
        btn1.setOnClickListener(onClickListener);
        btn2.setOnClickListener(onClickListener);
        btn3.setOnClickListener(onClickListener);
        btn4.setOnClickListener(onClickListener);
        btn5.setOnClickListener(onClickListener);
        btn6.setOnClickListener(onClickListener);
        btn7.setOnClickListener(onClickListener);
        btn8.setOnClickListener(onClickListener);
        btn9.setOnClickListener(onClickListener);
        btnadd.setOnClickListener(onClickListener);
        btnsub.setOnClickListener(onClickListener);
        btnmul.setOnClickListener(onClickListener);
        btndiv.setOnClickListener(onClickListener);
        btndot.setOnClickListener(onClickListener);
        btnequ.setOnClickListener(onClickListener);
        btnc.setOnClickListener(onClickListener);

        return view;
    }
}